package com.galaxy.commom.base.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.core.annotation.AliasFor;

/**
 * 分布式锁注解
 * @author caijinbang
 * @date 2018/9/7 20:15
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface DistributedLock {
  /**
   * 使用@AliasFor注解可以为注解本身提供别名
   *
   */
  @AliasFor("key")
  String value() default "";

  /**
   * 分布式锁key值
   * @return
   */
  String key() default "";
  }
